package Controleur;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;

import DAO.DAOLocation;
import DAO.DAOStationnement;
import Modele.Client;
import Modele.Location;
import Modele.Station;
import Modele.Stationnement;
import Vue.LouerVelo;

/**
 * Définit l'écouteur de validation de location
 */
public class LouerVeloBtnListener implements ActionListener {

	/** La vue de location */
	private LouerVelo louervelo;

	/**
	 * Instancie l'écouteur
	 * 
	 * @param p_louervelo
	 *            La vue de location
	 */
	public LouerVeloBtnListener(LouerVelo p_louervelo) {
		this.louervelo = p_louervelo;
	}

	/**
	 * Action lors de l'évenement
	 * 
	 * @param arg0
	 *            Objet de l'évenement
	 */
	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		Client client = (Client) louervelo.getComboBoxClient()
				.getSelectedItem();
		Station station = (Station) louervelo.getComboBoxStation()
				.getSelectedItem();

		Stationnement s = station.getStationnementsActuels().get(0);
		int idVeloLibre = s.getVelo().getIdVelo();

		Date dateDeLocation = new Date();
		s.setDateDeFin(dateDeLocation);

		DAOStationnement.updateStationnement(s);

		Location loc = new Location(client.getIdClient(), idVeloLibre,
				station.getIdStation(), 0, dateDeLocation, null);
		DAOLocation.insertLocation(loc);
		louervelo.close();

	}

}
